package qc.module.ehs.entity;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import qc.common.core.enums.EhsUnitTypeEnum;
import qc.common.core.enums.ResourceStatusFlagEnum;

import java.io.Serializable;

/**
 * EhsUnitBasic
 * 单元划分基础信息表
 *
 * @author QuCheng Tech
 * @since 2024/5/21
 */
@Data
@TableName("ehs_unit_basic")
public class EhsUnitBasic implements Serializable,Cloneable {
    /** 单元ID */
    @TableId
    private String unitid;
    
    /** 单元名称 */
    private String unitname ;
    
    /** 组织编码 */
    private String orgcode ;
    
    /** 责任部门ID */
    //在Mybatis-Plus的更新方法中，如果没有提前指定的话，更新后的结果为空值时会被自动过滤掉，因此要在实体类的字段上提前声明。
    //@TableField(updateStrategy = FieldStrategy.IGNORED)
    private Integer deptid ;
    
    /** 所属单元分类 */
    //private String categorycode ;
    
    /** 单元类型;区分为主单元、分/子单元、岗位/设备/作业单元 */
    private EhsUnitTypeEnum unittype ;
    
    /** 上级单元ID */
    private String parentid;
    
    /** 是否为在建阶段;是否为在建工程单元 */
    private Boolean isconstruction ;
    
    /** 经度 */
    private Double longitude ;
    
    /** 纬度 */
    private Double latitude ;
    
    /** 具体位置/部位 */
    private String location ;
    
    /** 介绍信息;介绍信息文字 */
    private String introduction ;
    
    /** 其他信息;扩展存储其他信息，如svg图片，json格式 */
    private String description ;
    
    /*状态标记;使用枚举类ResourceStatusFlagEnum*/
    private ResourceStatusFlagEnum flag;
    
    /*单元层级;根据单元类型不同取值不同，单元类型为场所区域时使用枚举类EhsAreaUnitLevelEnum*/
    private Integer unitlevel;
    
    /*存在的危险源类别；危险源类别值累加*/
    private Integer hazardcats;
    
    /*排序号*/
    private Integer odr;
}
